﻿@using DCMS.Web.Extensions;
@using DCMS.Web.Framework;
@using DCMS.Web.Framework.UI;
@using DCMS.ViewModel.Models.Finances;
@using DCMS.ViewModel.Models.Configuration;

@model ProfitSheetListModel

<section id="content_wrapper">

    <!-- Start: Topbar-Dropdown -->
    <div id="topbar-dropmenu">
        @await Html.PartialAsync("_ToolBox")
    </div>
    <!-- End: Topbar-Dropdown -->
    <!-- Start: Topbar -->
    <header id="topbar">
        <div class="topbar-left">
            <ol class="breadcrumb">
                <li class="crumb-active">
                    <a href="#">财务</a>
                </li>
                <li class="crumb-icon">
                    <a href="@Url.RouteUrl("HomePage")">
                        <span class="glyphicon glyphicon-home"></span>
                    </a>
                </li>
                <li class="crumb-link">
                    <a href="#">财务报表</a>
                </li>
                <li class="crumb-trail">利润表</li>
            </ol>
        </div>
        <div class="topbar-right">
            <div class="ml15 ib va-m" id="toggle_sidemenu_r">
                <a href="#" class="pl5">
                    <i class="fa fa-sign-in fs22 text-primary"></i>
                    <span class="badge badge-hero badge-danger">3</span>
                </a>
            </div>
        </div>
    </header>
    <!-- End: Topbar -->
    <!-- Begin: Content -->
    <section id="content" class="formSection">

        <div class="special-alerts">
            <div class="alert alert-danger light alert-dismissable" id="alert-demo-2" style="display: none;">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                <i class="fa fa-info pr10"></i>
                <strong>您没有被授权此操作!</strong>
            </div>
        </div>

        <div class="row">
            <div class="col-md-12">


                <form asp-action="list" asp-controller="profitsheet" method="get" id="formSearch" novalidate="novalidate">
                    <div class="panel panel-default" id="panel0">
                        <div class="panel-heading">
                            <span class="glyphicon glyphicon-search"></span> 高级搜索
                            <a class="btn btn-default btn-sm pull-right m5 mrn p5 pbn" id="AdvancedSearch"><i class="fa fa-angle-double-right"></i></a>
                        </div>
                        <div class="panel-body p10">
                            <div class="row">
                                <div class="col-sm-2">
                                    <dcms-select asp-for="RecordTime" asp-items="@Model.Dates" />
                                </div>
                                <div class="col-sm-10">
                                    <button id="btn_query" type="submit" class="btn btn-primary btn-block">
                                        <span class="glyphicon glyphicon-search mr5" aria-hidden="true"></span>查询
                                    </button>
                                </div>
                            </div>

                        </div>
                    </div>
                </form>

            </div>
        </div>

        <div class="row">
            <div class="col-md-12">

                <div class="panel">
                    <div class="panel-heading">
                        <div class="panel-title">
                            <span class="glyphicon glyphicon-tasks"></span> 利润表
                        </div>
                    </div>
                    <div class="panel-body p10">
                        <div id="toolbar" class="btn-group mb10">
                            <a id="btn_export" class="btn btn-info btn-sm mr5">
                                <span class="glyphicon glyphicon-export mr5"></span>导出
                            </a>
                            <a href="?cache=true" class="btn btn-info btn-sm mr5">
                                <span class="glyphicon glyphicon-refresh mr5"></span>刷新
                            </a>
                        </div>

                        <table class="table table-striped table-bordered table-hover">

                            @*@showOptions(Model.IncomeTrees, "收入")*@
                            <tr>
                                <th class="text-left">收入</th>
                                <th class="text-left">科目代码</th>
                                <th class="text-right" width="15%">本年累计金额</th>
                                <th class="text-right" width="15%">本期金额</th>
                            </tr>

                            @foreach (var tree in Model.IncomeTrees.Trees.OrderBy(s => s.Option.Code))
                            {
                                <tr>
                                    <td>
                                        @if (tree.Children.Count > 0)
                                        {
                                            <span class="glyphicon glyphicon-chevron-down pl15 mr10"></span><a href="#">@tree.Option.Name</a>
                                        }
                                        else
                                        {
                                            <span class="pl15 mr20"></span><a href="#">@tree.Option.Name</a>
                                        }
                                    </td>
                                    <td class="text-left"> @tree.Option.Code</td>
                                    <td class="text-right">￥ @((tree.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                    <td class="text-right">￥ @((tree.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                </tr>
                                if (tree.Children.Count > 0)
                                {
                                    foreach (var node in tree.Children)
                                    {

                                        if (node.Children.Count > 0)
                                        {
                                            <tr>

                                                @if (node.Children.Count > 0)
                                                {
                                                    <td><span style="padding-left:60px;" class="glyphicon glyphicon-chevron-down mr10"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                else
                                                {
                                                    <td><span style="padding-left:60px;"></span><a href="#">@node.Option.Name</a></td>
                                                }

                                                <td class="text-left">@node.Option.Code</td>
                                                <td class="text-right">￥ @((node.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                <td class="text-right">￥ @((node.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                            </tr>

                                            foreach (var child in node.Children)
                                            {
                                                if (child.Option.Selected)
                                                {
                                                    <tr>
                                                        <td><span style="padding-left:100px;"></span><a href="#">@child.Option.Name</a></td>
                                                        <td class="text-left"> @child.Option.Code</td>
                                                        <td class="text-right">￥ @((child.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                        <td class="text-right">￥ @((child.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                                    </tr>
                                                }
                                            }
                                        }
                                        else
                                        {
                                            <tr>
                                                @if (node.Children.Count > 0)
                                                {
                                                    <td><span style="padding-left:60px;" class="glyphicon glyphicon-chevron-down mr10"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                else
                                                {
                                                    <td><span style="padding-left:60px;"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                <td class="text-left"> @node.Option.Code</td>
                                                <td class="text-right">￥ @((node.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                <td class="text-right">￥ @((node.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>

                                            </tr>
                                        }

                                    }
                                }

                            }
                            <tr>
                                <td colspan="2" class="text-right text-weight">收入和计</td>
                                <td class="text-right text-weight">￥ @((Model.IncomeTrees?.TotalAccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                <td class="text-right text-weight">￥ @((Model.IncomeTrees?.TotalCurrentAmount ?? 0).ToString("#,##0.00"))</td>
                            </tr>

                            <tr>
                                <th class="text-left">支出</th>
                                <th class="text-left">科目代码</th>
                                <th class="text-right">本年累计金额</th>
                                <th class="text-right">本期金额</th>
                            </tr>
                            @foreach (var tree in Model.ExpenditureTrees.Trees.OrderBy(s => s.Option.Code))
                            {
                                <tr>
                                    <td>
                                        @if (tree.Children.Count > 0)
                                        {
                                            <span class="glyphicon glyphicon-chevron-down pl15 mr10"></span><a href="#">@tree.Option.Name</a>
                                        }
                                        else
                                        {
                                            <span class="pl15 mr20"></span><a href="#">@tree.Option.Name</a>
                                        }
                                    </td>
                                    <td class="text-left"> @tree.Option.Code</td>
                                    <td class="text-right">￥ @((tree.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                    <td class="text-right">￥ @((tree.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                </tr>
                                if (tree.Children.Count > 0)
                                {
                                    foreach (var node in tree.Children)
                                    {

                                        if (node.Children.Count > 0)
                                        {
                                            <tr>

                                                @if (node.Children.Count > 0)
                                                {
                                                    <td><span style="padding-left:60px;" class="glyphicon glyphicon-chevron-down mr10"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                else
                                                {
                                                    <td><span style="padding-left:60px;"></span><a href="#">@node.Option.Name</a></td>
                                                }

                                                <td class="text-left">@node.Option.Code</td>
                                                <td class="text-right">￥ @((node.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                <td class="text-right">￥ @((node.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                            </tr>

                                            foreach (var child in node.Children)
                                            {
                                                if (child.Option.Selected)
                                                {
                                                    <tr>
                                                        <td><span style="padding-left:100px;"></span><a href="#">@child.Option.Name</a></td>
                                                        <td class="text-left"> @child.Option.Code</td>
                                                        <td class="text-right">￥ @((child.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                        <td class="text-right">￥ @((child.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                                    </tr>
                                                }
                                            }
                                        }
                                        else
                                        {
                                            <tr>
                                                @if (node.Children.Count > 0)
                                                {
                                                    <td><span style="padding-left:60px;" class="glyphicon glyphicon-chevron-down mr10"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                else
                                                {
                                                    <td><span style="padding-left:60px;"></span><a href="#">@node.Option.Name</a></td>
                                                }
                                                <td class="text-left"> @node.Option.Code</td>
                                                <td class="text-right">￥ @((node.Bearer?.AccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                                <td class="text-right">￥ @((node.Bearer?.CurrentAmount ?? 0).ToString("#,##0.00"))</td>

                                            </tr>
                                        }

                                    }
                                }

                            }
                            <tr>
                                <td colspan="2" class="text-right text-weight">支出和计</td>
                                <td class="text-right text-weight">￥ @((Model.ExpenditureTrees?.TotalAccumulatedAmountOfYear ?? 0).ToString("#,##0.00"))</td>
                                <td class="text-right text-weight">￥ @((Model.ExpenditureTrees?.TotalCurrentAmount ?? 0).ToString("#,##0.00"))</td>
                            </tr>

                            @{
                                var talbes = Model.IncomeTrees.Trees;
                                talbes.AddRange(Model.ExpenditureTrees.Trees);
                                <tr>
                                    <td class="text-right"></td>
                                    <td class="text-right text-weight">税前利润</td>
                                    <td class="text-right text-weight">￥ @((Model.PretaxAccumulatedAmount ?? 0).ToString("#,##0.00"))</td>
                                    <td class="text-right text-weight">￥ @((Model.PretaxCurrentAmount ?? 0).ToString("#,##0.00"))</td>
                                </tr>
                            }
                        </table>
                    </div>
                </div>


            </div>
        </div>

    </section>

    <!-- End: Content -->
</section>


@{
    //Html.AddCssFileParts(ResourceLocation.Head, "~/assets/skin/default_skin/css/theme.css");
    //Html.AddCssFileParts(ResourceLocation.Head, "~/Scripts/Toastr/toastr.css");
    //Html.AddCssFileParts(ResourceLocation.Head, "~/Scripts/Tables/bootstrap-table.css");

    //Html.AddCssFileParts(ResourceLocation.Head, "~/vendor/plugins/datepicker/css/bootstrap-datetimepicker.css");
    //Html.AddCssFileParts(ResourceLocation.Head, "~/vendor/plugins/daterange/daterangepicker.css");
    //Html.AddCssFileParts(ResourceLocation.Head, "~/vendor/plugins/colorpicker/css/bootstrap-colorpicker.min.css");
    //Html.AddCssFileParts(ResourceLocation.Head, "~/vendor/plugins/tagmanager/tagmanager.css");

    <!-- Fancytree Plugin -->
    //Html.AddCssFileParts(ResourceLocation.Head, "~/vendor/plugins/fancytree/skin-win8/ui.fancytree.min.css");

    //Html.AddCssFileParts(ResourceLocation.Head, "~/Content/Site.css");

}

@section CurPageScripts
{
    @{
        //Html.AddScriptParts(ResourceLocation.Footer, "~/assets/js/utility/jquery.sparkline.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/jquery.validate.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/jquery.validate.unobtrusive.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Tables/jquery.treegrid.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Tables/bootstrap-table.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Tables/locale/bootstrap-table-zh-CN.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Tables/bootstrap-table-treegrid.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/globalize.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/moment.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/moment-with-locales.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/daterange/daterangepicker.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/datepicker/js/bootstrap-datetimepicker.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/colorpicker/js/bootstrap-colorpicker.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/jquerymask/jquery.maskedinput.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/tagmanager/tagmanager.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/vendor/plugins/fancytree/jquery.fancytree-all.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/assets/admin-tools/admin-forms/js/advanced/steps/jquery.steps.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/assets/admin-tools/admin-forms/js/jquery.validate.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Toastr/Toastr.min.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/Scripts/Custom/Common.js");
        //Html.AddScriptParts(ResourceLocation.Footer, "~/assets/js/bootstrap/holder.min.js");
    }

    <script type="text/javascript">

        jQuery(document).ready(function () {

            "use strict";

            // Init Theme Core
            Core.init();

            // Init Demo JS
            Demo.init();

            //权限提示
            if ($(this).getUrlQueryString("Authorize") == "noAuthorize") {
                $('#alert-demo-2').fadeToggle();
                setTimeout(function () {
                    $('#alert-demo-2').fadeToggle();
                }, 3000);
            }

            //高级搜索
            $("#panel0 #AdvancedSearch").click(function () {
                var ico = $(this).find(".fa");
                if (ico.hasClass('fa-angle-double-right'))
                    ico.removeClass("fa-angle-double-right").addClass("fa-angle-double-down");
                else
                    ico.removeClass("fa-angle-double-down").addClass("fa-angle-double-right");
                $("#panel0").find(".panel-body").toggleClass("hidden fadeIn");
            });

            //防止重复查询
            var queryNumber = 1;
            $("#btn_query").click(function () {
                if (queryNumber > 1) {
                    return false;
                }
                queryNumber = queryNumber + 1;
            });

            //导出
            $("#btn_export").click(function () {
                window.location.href = "/ProfitSheet/ExportProfitSheet?RecordTime=" + $("#RecordTime").val();
            });
        });
    </script>
}